linux下cron命令用法 | 您所在的位置:网站首页 › cron online › linux下cron命令用法 |
cron是Linux下的一个定时执行工具,可以在无需人工干预的情况下运行作业。 在VPS上,cron一般用来执行定时备份任务,非常方便。 Centos默认已安装cron,但是并不自动运行,可以用以下的方法来启动和设置自动启动:
复制代码 代码如下: #service crond start #启动服务 #chkconfig crond on #开机自动启动 可以用crontab -e命令来编辑/var/spool/cron下对应用户的cron文件,也可以直接编辑/etc/crontab。 cron的命令格式如下: 分 小时 日 月 星期 命令 0-59 0-23 1-31 1-12 0-6 command
其中,0表示星期日,一行对应一个命令。 下面举几个例子,基本涵盖了常见的一些情况:
复制代码 代码如下: 5 * * * * ls 指定每小时的第5分钟执行一次ls命令 30 5 * * * ls 指定每天的 5:30 执行ls命令 30 7 8 * * ls 指定每月8号的7:30分执行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令 30 6 * * 0 ls 指定每星期日的6:30执行ls命令 30 3 10,20 * * ls 每月10号及20号的3:30执行ls命令 25 8-11 * * * ls 每天8-11点的第25分钟执行ls命令 */15 * * * * ls 每15分钟执行一次ls命令 30 6 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令 22 4 * * * root run-parts /etc/cron.daily #每天4:22以root身份执行/etc/cron.daily目录中的所有可执行文件,run-parts参数表示,执行后面目录中的所有可执行文件。 添加后保存的路径是/var/spool/cron,可以直接用vi查看和修改。
脚本文件: bakTime=` date +%Y%m%d%H%M%S`cp /home/test/dump.rdb /home/test/bakRedis/$bakTime.rdb
linux 下执行.sh文件总是提示permission denied
如果你是root登陆的话(不是的话,切换到root用户,对*.sh赋可执行的权限) chmod 777 *.sh or chmod +x *.sh 然后运行就OK了
Crontab用法
[root@yang1 data]# crontab --help #/var/log/yy > /dev/null 2>&1 每隔一分钟把yangrong打印到yangrong1文件中,但该命令无法执行,因为>>与>/dev/null不可同时使用
2)/dev/null 2>&1解释
0是标准输入 使用 2是标准错误输出 使用2>或2>> >/dev/null 2>&1 即错误输出与标准输出全部重定向到空,可以写成1>/dev/null 2>/dev/null
3)关于重定向的作用 重定向到空可以避免碎片文件占用inode资源 重定向到一个指定log里,可以看任务是否执行
4)关于导致磁盘inode满情况分析 定时任务执行成功or失败时,程序会向上层发送mail,由于平时工作中不打开sendmail功能,所以邮件会存储在临时目录/var/spool/clientmqueue,随着执行的任务次数多,文件也会越来越多,直到某一天,添加文件时,提示No space left on device,主要问题原因不在于垃圾文件会占很大空间,而在于每个文件会占用inode节点。(centos6.4默认不装sendmail,可能不会导致这个问题发生)。 所以crontab规则后需加 /dev/null 2>&1。 注:>> 与 >/dev/null 2>&1不可同时存在,不然无法执行 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |